/*
 * @Description: webpack配置
 * @Version: 1.0
 * @Autor: wq
 * @Date: 2021-08-04 13:29:44
 * @LastEditors: wq
 * @LastEditTime: 2021-08-04 14:56:37
 * @FilePath: \vue_project\mmpt\vue.config.js
 */
// 获取请求url地址
const config = require("./src/utils/config.js");
// 拼接路径
const resolve = (dir) => require("path").join(__dirname, dir);
let publicPath = process.env.NODE_ENV === "production" ? "/" : "./";
module.exports = {
  publicPath: publicPath,
  outputDir: "dist", // 将构建好的文件输出到哪里
  productionSourceMap: false, // 生产环境关闭 source map

  lintOnSave: false, //关闭 eslint
  devServer: {
    port: 9527, // 端口号
    https: false, // https:{type:Boolean}
    open: true, //配置自动启动浏览器
    proxy: {
      "/api": {
        target: config.domain, // 目标 ip
        changeOrigin: true, // 改变跨域
        ws: false, //websocket支持
        secure: false, // 安全
        pathRewrite: {
          // 重写路径
          "^/api": "/",
        },
      },
    },
  },
  // 是一个函数，会接收一个基于 webpack-chain 的 ChainableConfig 实例
  // 允许对内部的 webpack 配置进行更细粒度的修改。
  chainWebpack: (config) => {
    // 重新设置 alias
    config.resolve.alias
      .set("@", resolve("src"))
      .set("@views", resolve("src/views"))
      .set("@assets", resolve("src/assets"))
      .set("@common", resolve("src/common"))
      .set("@utils", resolve("src/utils"))
      .set("@cpt", resolve("src/components"));
  },
  // CDN配置，打包前可以配置
  // configureWebpack: {
  //     externals: {
  //         'vue': 'Vue',
  //         'vuex': 'Vuex',
  //         'vue-router': 'VueRouter',
  //         'axios': 'axios'
  //     }
  // }
};
